package com.drakulo.hi.logic.io;

import java.io.File;

/**
 * <b>Ressource paths</b>
 * <p>
 * Access to ressources must use the paths defined in this enum.
 * </p>
 */
public enum Resources {
	// Folder names
	// =====================================================================================================
	DATA_FOLDER_NAME("data"), //
	ACTOR_FOLDER_NAME("actors"), //
	ANIM_FOLDER_NAME("animations"), //
	BATTLER_FOLDER_NAME("battlers"), //
	CHARACTER_FOLDER_NAME("characters"), //
	FACE_FOLDER_NAME("faces"), //
	FONT_FOLDER_NAME("fonts"), //
	ITEM_FOLDER_NAME("items"), //
	SYSTEM_FOLDER_NAME("system"), //
	// =====================================================================================================

	// File names
	// =====================================================================================================
	ACCESSORIES_FILE_NAME("accessories.png"), //
	ARMORS_FILE_NAME("armors.png"), //
	BOOTS_FILE_NAME("boots.png"), //
	BOWS_FILE_NAME("bows.png"), //
	HELMETS_FILE_NAME("helmets.png"), //
	POTIONS_FILE_NAME("potions.png"), //
	SCROLLS_FILE_NAME("scrolls.png"), //
	SHIELDS_FILE_NAME("shields.png"), //
	SPECIALITEMS_FILE_NAME("specialitems.png"), //
	SWORDS_FILE_NAME("swords.png"), //
	WANDS_FILE_NAME("wands.png"), //

	CURSOR_FILE_NAME("cursor.png"), //
	DUMMY_FILE_NAME("dummy.png"), //
	BATTLE_LINE_FILE_NAME("BattleLine.png"), //
	// =====================================================================================================

	// Folder paths
	// =====================================================================================================
	DATA_FOLDER(DATA_FOLDER_NAME.path() + File.separator), //
	ACTOR_FOLDER(DATA_FOLDER.path() + ACTOR_FOLDER_NAME.path() + File.separator), //
	ANIM_FOLDER(DATA_FOLDER.path() + ANIM_FOLDER_NAME.path() + File.separator), //
	BATTLER_FOLDER(DATA_FOLDER.path() + BATTLER_FOLDER_NAME.path() + File.separator), //
	CHARACTER_FOLDER(DATA_FOLDER.path() + CHARACTER_FOLDER_NAME.path() + File.separator), //
	FACE_FOLDER(DATA_FOLDER.path() + FACE_FOLDER_NAME.path() + File.separator), //
	FONT_FOLDER(DATA_FOLDER.path() + FONT_FOLDER_NAME.path() + File.separator), //
	ITEM_FOLDER(DATA_FOLDER.path() + ITEM_FOLDER_NAME.path() + File.separator), //
	SYSTEM_FOLDER(DATA_FOLDER.path() + SYSTEM_FOLDER_NAME.path() + File.separator), //
	// =====================================================================================================

	// File names
	// =====================================================================================================
	// Actors

	// Animations

	// Battlers

	// Characters

	// Faces

	// Fonts

	// Items
	ACCESSORIES(ITEM_FOLDER.path() + ACCESSORIES_FILE_NAME.path()), //
	ARMORS(ITEM_FOLDER.path() + ARMORS_FILE_NAME.path()), //
	BOOTS(ITEM_FOLDER.path() + BOOTS_FILE_NAME.path()), //
	BOWS(ITEM_FOLDER.path() + BOWS_FILE_NAME.path()), //
	HELMETS(ITEM_FOLDER.path() + HELMETS_FILE_NAME.path()), //
	POTIONS(ITEM_FOLDER.path() + POTIONS_FILE_NAME.path()), //
	SCROLLS(ITEM_FOLDER.path() + SCROLLS_FILE_NAME.path()), //
	SHIELDS(ITEM_FOLDER.path() + SHIELDS_FILE_NAME.path()), //
	SPECIALITEMS(ITEM_FOLDER.path() + SPECIALITEMS_FILE_NAME.path()), //
	SWORDS(ITEM_FOLDER.path() + SWORDS_FILE_NAME.path()), //
	WANDS(ITEM_FOLDER.path() + WANDS_FILE_NAME.path()), //

	// Other
	CURSOR(DATA_FOLDER.path() + CURSOR_FILE_NAME.path()), //
	DUMMY(DATA_FOLDER.path() + DUMMY_FILE_NAME.path()), //
	BATTLE_LINE(SYSTEM_FOLDER.path() + BATTLE_LINE_FILE_NAME.path()), //
	GOLD_COMPONENT("data/system/goldComponent.png"), //
	// =====================================================================================================

	;

	private String path;

	private Resources(String path) {
		this.path = path;
	}

	public String path() {
		return this.path;
	}
}
